This page last changed on Oct 02, 2006 by juanca.

Un Analizador Léxico (o analizador lineal) transforma la secuencia de símbolos de entrada en una secuencia de componentes (símbolos) léxicos sobre la cual es más fácil hacer luego el análisis sintáctico. El A.L. lee caracteres de entrada y los agrupa en secuencias que tienen significado dentro de la estructura sintáctica del lenguaje fuente.

Un analizador léxico es un Traductor que actúa en la primera fase de un proceso de compilación.

Ejemplo

La siguiente expresión:

a = (b + 1) >> 2; // comentario 

es leída por el analizador léxico como una secuencia de caracteres:

a   =   ( b + 1 )   > > 2   ;   / /   c o m e n t a r i o

el analizador léxico la transforma en una secuencia de componentes léxicos:

ident = ( ident + const ) op const ;
a     b   1   >> 2  

En ocasiones el AL interactúa con la tabla de símbolos y almacena allí la información sobre los identificadores que consigue:

ident = ( ident + const ) op const ;
1     2   3   >> 4  

Tabla de Símbolos

pos tipo valor
1 ident a
2 ident b
3 const 1
4 const 2
Eficiencia

Se usa un AL independiente para hacer más fácil la tarea de Analizador Sintactico. Como un AL básicamente agrupa caracteres, su función se puede hacer muy eficiente.

Desechar Información

El AL puede desechar información que no es relevante para el significado del programa, como espacios en blanco y comentarios.

Lexema

Un Lexema (lexeme) es una cadena de caracteres que debe ser tratada en conjunto en el lenguaje fuente:

mcd
(
>>

Componente Léxico

Un Componente Lexico es el tipo asociado a un subconjunto particular de lexemas, como los identificadores, o números en un lenguaje de programación. A cada componente léxico se asocia un patrón que concuerda con los lexemas del conjunto asociado al componente léxico.

c.l. lexemas
patrón
ident mdc, tmp2, total letra seguida de letras o números
Document generated by Confluence on Oct 04, 2010 11:25